'use strict';

const db = uniCloud.database();
const collection = db.collection('users');

exports.main = async (event, context) => {
	const { avatarUrl, userId } = event;

	try {
		// 获取原本的头像url
		const r = await collection.doc(userId).get();
		const oldAvatarUrl = r.data[0].avatarUrl;

		// 删除原本的头像文件
		if (oldAvatarUrl) {
			try {
				await uniCloud.deleteFile({
					fileList: [oldAvatarUrl]
				});
			} catch (err) {
				console.error('删除原头像失败:', err);
			}
		}

		// 更新数据库中的头像
		await collection.doc(userId).update({
			avatarUrl: avatarUrl
		});

		return {
			code: 0,
			msg: '更新成功',
			data: {
				avatarUrl: avatarUrl // 返回新的头像URL
			}
		};
	} catch (err) {
		console.error('更新头像失败:', err);
		return {
			code: -1,
			msg: '更新失败',
			error: err
		};
	}
};